package com.gengzp.common.model.user.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;

/**
 * @ClassName RegisterSysUserReq
 * @Description 注册用户请求实体
 * @Author gengzp
 * @Date 2025/9/8 15:20
 */
@Data
@ApiModel(description = "注册用户请求实体")
public class RegisterSysUserReq implements Serializable {

    @Serial
    private static final long serialVersionUID = -5611009566728680235L;

    /**
     * 用户账号
     */
    @NotBlank(message = "用户账号不能为空")
    @ApiModelProperty(value = "用户账号", required = true)
    private String userAccount;

    /**
     * 用户密码
     */
    @NotBlank(message = "用户密码不能为空")
    @ApiModelProperty(value = "用户密码", required = true)
    private String userPassword;

    /**
     * 用户昵称
     */
    @NotBlank(message = "用户昵称不能为空")
    @ApiModelProperty(value = "用户昵称", required = true)
    private String userNickname;

    /**
     * 用户性别
     * {@link com.gengzp.common.enums.GenderEnum}
     */
    @NotNull(message = "用户性别不能为空")
    @ApiModelProperty(value = "用户性别", required = true)
    private Integer userGender;

    /**
     * 客户端类型
     * {@link com.gengzp.common.enums.ClientTypeEnum}
     */
    @NotNull(message = "客户端类型不能为空")
    @ApiModelProperty(value = "客户端类型", required = true)
    private Integer clientType;

}
